Generate all sublists of a listΒΆ
Generate all sublists of a list.
def sub_lists(L):
subL = [[]]
for i in range(len(L)):
n = i + 1
while n <= len(L):
sub = L[i:n]
subL.append(sub)
n += 1
return subL
# test
L1 = [10, 20, 30, 40]
L2 = ['X', 'Y', 'Z']
print(sub_lists(L1))
# [[], [10], [10, 20], [10, 20, 30], [10, 20, 30, 40], [20], [20, 30], [20, 30, 40], [30], [30, 40], [40]]
print(sub_lists(L2))
[[], ['X'], ['X', 'Y'], ['X', 'Y', 'Z'], ['Y'], ['Y', 'Z'], ['Z']]